package pe.gob.foncodes.ssa.bs.common.util;

import java.io.Serializable;
import javax.faces.model.SelectItem;

/**
 *
 */
public abstract class ReportExporter implements Serializable {

    private String formatoSeleccionado;
    public String getFormatoSeleccionado() {
        if (formatoSeleccionado == null) {
            formatoSeleccionado = "pdf";
        }
        return formatoSeleccionado;
    }

    public void setFormatoSeleccionado(String formatoSeleccionado) {
        this.formatoSeleccionado = formatoSeleccionado;
    }

    public abstract String getCodigoOpcionReporte();
    public abstract String exportar();

    public int getCantidadFormatos() {
        return getFormatosPermitidos().length;
    }

    public SelectItem[] getFormatosPermitidos() {
        String[] formatos = {"pdf", "xls"};
        SelectItem[] items;
        items = new SelectItem[formatos.length];
        int i = 0;
        for (String s : formatos) {
            items[i++] = new SelectItem(s, s);
        }
        return items;
    }

    public SelectItem[] getTodosFormatos() {
        String[] formatos = JRExporterStrategyFactory.getExporterFormats();
        SelectItem select[] = new SelectItem[formatos.length];
        int i = 0;
        for (String x : formatos) {
            select[i++] = new SelectItem(x, x);
        }
        return select;
    }
}